connStrで指定したデータ・ストアの全体バックアップまたは増分バックアップのコピーを作成します。データ・ストアは、一連のファイルまたはストリームのいずれかにバックアップできます。ttRestore関数またはttRestoreユーティリティを使用して、後でデータ・ストアをリストアできます。バックアップ時にデータ・ストアが使用中の場合にこの処理を正常に完了するには、共有モードに設定されている必要があります。
データ・ストア内の表の所有者の名前を変更するには、ttMigrateユーティリティを使用します。表の所有者の名前は、表のリストア時に-renameオプションを使用して変更できます。TimesTenのバックアップおよびリストア機能に関する概要は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータ・ストアのバックアップおよびリストアに関する項を参照してください。
アクセス制御が有効になっている場合は、ADMIN権限またはデータ・ストア・オブジェクトの所有権が必要です。
ttBackup (ttUtilHandle handle, const char *connStr, ttBackUpType type, ttBooleanType atomic, const char *backupDir, const char *baseName, ttUtFileHandle stream);
ttBackupには、次のパラメータがあります。
パラメータ | 型 | 説明 |
handle | ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr | const char* | バックアップするデータ・ストアについて記述する接続文字列を指定するヌル終端文字列。 |
type | ttBackUpType | 実行するバックアップの種類を指定します。指定可能な値は次のとおりです。 TT_BACKUP_FILE_FULL: backupDirおよびbaseNameパラメータで指定されたバックアップ・パスでファイルの全体バックアップを実行します。作成されたバックアップは、増分バックアップでは使用できません。 TT_BACKUP_FILE_FULL_ENABLE: backupDirおよびbaseNameパラメータで指定されたバックアップ・パスでファイルの全体バックアップを実行します。作成されたバックアップは、増分バックアップで使用できます。 TT_BACKUP_FILE_INCREMENTAL: backupDirおよびbaseNameパラメータで指定されたバックアップ・パスにデータ・ストアの増分可能バックアップが含まれている場合は、そのバックアップ・パスでファイルの増分バックアップを実行します。それ以外の場合は、エラーが返されます。 TT_BACKUP_FILE_INCR_OR_FULL: backupDirおよびbaseNameパラメータで指定されたバックアップ・パスにデータ・ストアの増分可能バックアップが含まれている場合は、そのバックアップ・パスでファイルの増分バックアップを実行します。それ以外の場合は、データ・ストアのファイルの完全バックアップを実行し、増分可能のマークを付けます。 TT_BACKUP_STREAM_FULL: streamパラメータで指定したストリームでストリーム・バックアップを実行します。 TT_BACKUP_INCREMENTAL_STOP: バックアップを実行しません。backupDirおよびbaseNameパラメータで指定されたバックアップ・パスに対して、増分バックアップを無効にします。これにより、増分バックアップでログ・ファイルが蓄積することを回避します。 |
atomic | ttBooleanType | 新しいバックアップを作成する前に、指定したディレクトリに存在する既存のバックアップを破棄するかどうかを指定します。 TT_FALSE: 新しいバックアップを開始する前に、指定したディレクトリに存在する既存のバックアップが破棄されます。 このオプションを指定しなかった場合、データ・ストアのバックアップがすでに含まれているディレクトリへのデータ・ストアの全体バックアップの作成は続行できますが、新規のバックアップが完了するまで既存のバックアップは破棄されません。 このパラメータは、ファイルの全体バックアップでのみ有効です。増分バックアップおよびストリーム・バックアップでは無視されます。 |
backupDir | const char* | ファイル・バックアップのためのバックアップ・ディレクトリを指定します。このパラメータは、ストリーム・バックアップでは無視されます。それ以外の場合はNULL以外になります。TT_BACKUP_INCREMENTAL_STOPの場合は、無効にするバックアップ・パスのディレクトリ部分を指定します。 TT_BACKUP_INCREMENTAL_STOPまたはファイル・バックアップの場合は、NULLを指定すると、エラーが返されます。 |
baseName | const char* | ファイル・バックアップのためにbackupDirパラメータで指定したバックアップ・ディレクトリ内のバックアップ・ファイルのファイル接頭辞を指定します。 このパラメータは、ストリーム・バックアップでは無視されます。 このパラメータにNULLを指定すると、バックアップ・ファイルのファイル接頭辞には、データ・ストアのODBC定義に設定されたDataStore属性のファイル名部分が適用されます。 TT_BACKUP_INCREMENTAL_STOPの場合は、無効にするバックアップ・パスのベース名部分を指定します。 |
stream | ttUtFileHandle | ストリーム・バックアップの場合は、バックアップが書き込まれるストリームを指定します。 Unixの場合は、write(2)を使用して書き込むことができる整数ファイル記述子です。1を渡すと、stdoutにバックアップが書き込まれます。 Windowsの場合は、WriteFileを使用して書き込むことができるHANDLEです。GetStdHandle(STD_OUTPUT_HANDLE)の結果を渡すと、標準出力にバックアップが書き込まれます。 このパラメータは、ファイル・バックアップでは無視されます。 アプリケーションで、このパラメータに対してTTUTIL_INVALID_FILE _HANDLEを渡すことができます。 |
payrollというDSNのデータ・ストアをC:\backupにバックアップするには、次のように入力します。
ttUtilHandle utilHandle; int rc; rc = ttBackup (utilHandle, "DSN=payroll", TT_BACKUP_FILE_FULL, TT_TRUE, "c:\\backup", NULL, TTUTIL_INVALID_FILE_HANDLE);バックアップが正常に行われると、すべてのファイルがC:\backupディレクトリに作成されます。
各データ・ストアで、8つの増分可能バックアップのみがサポートされます。
アプリケーションでttBackupをコールして、ディスクレス・ロギングを使用しているデータ・ストア、またはロギングが無効になっているデータ・ストアをバックアップする場合、バックアップ・ファイルは、最新のチェックポイントの前にコミットされたトランザクションのみを反映します。最新のチェックポイントの後にコミットされたトランザクションは、バックアップに反映されません。
一時データ・ストアおよびディスクレス・データ・ストアはバックアップできません。
接続文字列で指定したデータ・ストアに対応する、すべてのチェックポイント・ファイル、トランザクション・ログ、およびデーモン・カタログ・エントリを含むデータ・ストアを破棄します。ただし、サポートされているUNIX Platformsのodbc.iniファイル内、またはサポートされているWindows PlatformsのWindowsレジストリ内に定義されているDSN自体は削除されません。
アクセス制御が有効になっている場合は、ADMIN権限またはデータ・ストア・オブジェクトの所有権が必要です。
ttDestroyDataStoreには、次のパラメータがあります。
パラメータ | 型 | 説明 |
handle | ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr | const char * | 破棄するデータ・ストアについて記述する接続文字列を指定するヌル終端文字列。DSNおよびDataStore属性を除く、接続文字列内のすべてのデータ・ストア属性が無視されます。 |
timeout | unsigned int | コール元に返される前に再試行する回数を指定します。ttDestroyDataStoreは、正常に実行されるかタイムアウトに達するまで、破棄処理を1秒ごとに繰り返し再試行します。これは、データ・ストアの使用中などの一時的な状態が原因で破棄が失敗する場合に有効です。 このパラメータが0(ゼロ)の場合、再試行は実行されません。 |
ファイルC:\dsns\payroll.ds0、C:\dsns\payroll.ds1およびいくつかのログ・ファイルC:\dsns\payroll.lognで構成されるpayrollというDSNで定義されているデータ・ストアを破棄するには、次のように入力します。
char errBuff [256]; int rc; unsigned int retCode; ttUtilErrType retType; ttUtilHandle utilHandle; ............... ............... rc = ttDestroyDataStore (utilHandle, "DSN=payroll", 30); if (rc == TTUTIL_SUCCESS) printf ("Datastore payroll successfully destroyed.\n"); else if (rc == TTUTIL_INVALID_HANDLE) printf ("TimesTen utility library handle is invalid.\n"); else while ((rc = ttUtilGetError (utilHandle, 0, &retCode, &retType, errBuff, sizeof (errBuff), NULL)) != TTUTIL_NODATA) { ............... ............... }
接続文字列で指定したデータ・ストアに対応する、すべてのチェックポイント・ファイル、トランザクション・ログ、およびデーモン・カタログ・エントリを含むデータ・ストアを破棄します。ただし、サポートされているUNIX Platformsのodbc.iniファイル内、またはサポートされているWindows PlatformsのWindowsレジストリ内に定義されているDSN自体は削除されません。
アクセス制御が有効になっている場合は、ADMIN権限またはデータ・ストア・オブジェクトの所有権が必要です。
ttDestroyDataStoreForceには、次のパラメータがあります。
パラメータ | 型 | 説明 |
handle | ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr | const char * | 破棄するデータ・ストアについて記述する接続文字列を指定するヌル終端文字列。DSNおよびDataStore属性を除く、接続文字列内のすべてのデータ・ストア属性が無視されます。 |
timeout | unsigned int | コール元に返される前に再試行する秒数を指定します。ttDestroyDataStoreForceは、正常に実行されるかタイムアウトに達するまで、破棄処理を1秒ごとに繰り返し再試行します。これは、データ・ストアの使用中などの一時的な状態が原因で破棄が失敗する場合に有効です。 このパラメータが0(ゼロ)の場合、再試行は実行されません。 |
ファイルC:\dsns\payroll.ds0、C:\dsns\payroll.ds1およびいくつかのログ・ファイルC:\dsns\payroll.lognで構成されるpayrollというDSNで定義されているデータ・ストアを破棄するには、次のように入力します。
char errBuff [256]; int rc; unsigned int retCode; ttUtilErrType retType; ttUtilHandle utilHandle; ............... ............... rc = ttDestroyDataStoreForce (utilHandle, "DSN=payroll", 30); if (rc == TTUTIL_SUCCESS) printf ("Datastore payroll successfully destroyed.\n"); else if (rc == TTUTIL_INVALID_HANDLE) printf ("TimesTen utility library handle is invalid.\n"); else while ((rc = ttUtilGetError (utilHandle, 0, &retCode, &retType, errBuff, sizeof (errBuff), NULL)) != TTUTIL_NODATA) { ............... ............... }
最後のアプリケーションがデータ・ストアから接続を切断した後、接続文字列で指定したデータ・ストアがRAMに保持される秒数を指定します。その後、TimesTenはデータ・ストアをアンロードします。猶予期間は随時設定または再設定が可能ですが、RAMポリシーがTT_RAMPOL_INUSEに設定されている場合のみです。
アクセス制御が有効になっている場合は、ADMIN権限またはデータ・ストア・オブジェクトの所有権が必要です。
ttRamGraceには、次のパラメータがあります。
パラメータ | 型 | 説明 |
handle | ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr | const char* | RAM猶予期間を設定するデータ・ストアについて記述する接続文字列を指定するヌル終端文字列。 |
seconds | unsigned int |
最後のアプリケーションがデータ・ストアから接続を切断した後、TimesTenがデータ・ストアをRAMに保持する秒数を指定します。その後、TimesTenはデータ・ストアをアンロードします。 |
payrollというDSNに10秒のRAM猶予期間を設定するには、次のように入力します。
この関数を使用すると、RAM猶予期間は排他モードのデータ・ストアに反映されません。
ttRamLoad
ttRamPolicy
ttRamUnload
接続文字列で指定したデータ・ストアをシステムのRAMにロードするようにTimesTenに指示します。永続データ・ストアでは、ttRamLoadへのコールはRamPolicyがTT_RAMPOL_MANUALに設定されている場合にのみ有効です。一時データ・ストアでは、ttRamLoadへのコールによってデータ・ストアがRAMにロードされます。
アクセス制御が有効になっている場合は、ADMIN権限またはデータ・ストア・オブジェクトの所有権が必要です。
ttRamLoadには、次のパラメータがあります。
パラメータ | 型 | 説明 |
handle | ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr | const char* | RAMにロードするデータ・ストアについて記述する接続文字列を指定するヌル終端文字列。 |
payrollというDSNのデータ・ストアをロードするには、次のように入力します。
この関数を使用して、排他モードのデータ・ストアをRAMにロードすることはできません。
ttRamGrace
ttRamPolicy
ttRamUnload
接続文字列で指定したデータ・ストア用のシステムRAMにTimesTenがデータ・ストアをロードするタイミングを決定するためのポリシーを定義します。
アクセス制御が有効になっている場合は、ADMIN権限またはデータ・ストア・オブジェクトの所有権が必要です。
ttRamPolicyには、次のパラメータがあります。
パラメータ | 型 | 説明 |
handle | ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr | const char* | RAMポリシーを設定するデータ・ストアについて記述する接続文字列を指定するヌル終端文字列。 |
policy | ttRamPolicyType | 指定したデータ・ストア用のシステムRAMにTimesTenがデータ・ストアをロードするタイミングを決定するためのポリシーを定義します。指定可能な値は、次のとおりです。 TT_RAMPOL_ALWAYS: データ・ストアが常時RAMに存在するように指定します。 TT_RAMPOL_MANUAL: ttRamLoadユーティリティAPIまたはttAdmin -ramLoadコマンドのいずれかを使用して、データ・ストアが明示的にRAMにロードされるように指定します。同様に、データ・ストアは、ttRamUnloadユーティリティAPIまたはttAdmin -ramUnloadコマンドを使用して明示的にアンロードできます。 TT_RAMPOL_INUSE: アプリケーションでデータ・ストアに接続する場合にデータ・ストアがRAMにロードされるように指定します。このRAMポリシーは、ttRamGraceユーティリティAPIまたはttAdmin -ramGraceコマンドを使用してさらに変更できます。 指定したデータ・ストアに対して明示的にRAMポリシーを設定しない場合、デフォルトのRAMポリシーはTT_RAMPOL_INUSEとなります。 |
payrollというDSNのRAMポリシーをmanualに設定するには、次のように入力します。
排他モードのデータ・ストアのポリシーをalwaysまたはmanualに設定することはできません。ポリシーは一時データ・ストアには設定できません。
ttRamGrace
ttRamLoad
ttRamUnload
RAMポリシーがmanualの場合に、接続文字列で指定したデータ・ストアをシステムのRAMからアンロードするようにTimesTenに指示します。永続データ・ストアでは、このコールはRAMポリシーがTT_RAMPOL_MANUALに設定されている場合にのみ有効です。一時データ・ストアでは、RAMポリシーを設定できないため、ttRamUnloadをコールすると、RAMへのデータ・ストアのロードが常に試行されます。
アクセス制御が有効になっている場合は、ADMIN権限またはデータ・ストア・オブジェクトの所有権が必要です。
ttRamUnloadには、次のパラメータがあります。
パラメータ | 型 | 説明 |
handle | ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr | const char* | RAMからアンロードするデータ・ストアの接続文字列を指定するヌル終端文字列。 |
payrollというDSNのデータ・ストアをRAMからアンロードするには、次のように入力します。
この関数を使用して、排他モードのデータ・ストアをRAMからアンロードすることはできません。
この関数を一時データ・ストアに対して使用すると、TimesTenはデータ・ストアのアンロードを常に試行します。
ttRamGrace
ttRamLoad
ttRamPolicy
今回のリリースでは、この関数は下位互換性を保つためにのみサポートされています。この関数は、ttRepDuplicateExに置き換えられています。
今回のリリースでは、この関数は下位互換性を保つためにのみサポートされています。この関数は、ttRepDuplicateExに置き換えられています。
リモート・データ・ストアのレプリカをローカル・マシンに作成する方法を提供します。
リモート・データ・ストアがディスクレスの場合、この処理は、メモリ転送中、リモートのソース・データ・ストアにデータ・ストア・レベル・ロックを設定します。これによって、複製処理中、他のすべての接続がリモート・データ・ストアにアクセスできなくなります。
オプションで、memCopyパラメータ値にTT_TRUEを使用して、リモートのレプリケーション可能な一時データ・ストアまたは永続データ・ストアのレプリカを作成できます。このオプションでは、ディスクレス・モードのttRepDuplicateExは、ネットワークを介してデータ・ストアをコピーする前にメモリー内にリモート・データ・ストアの中間のコピーを作成するため、リモート・データ・ストアは、メモリー間コピーの実行中にのみロックされます。これによって、ディスクレス・モードでこの処理を行った場合のデータ・ストアのロック時間が短縮されます。追加のリモート・コピーに使用できる十分なRAMがある必要があります。
アクセス制御が有効な場合、指定したユーザーにはADMIN権限が必要です。
ttRepDuplicateEx (ttUtilHandle handle, const char *destConnStr, const char *srcDatastore, const char *remoteHost, ttRepDuplicateExArg *arg ); typedef struct { unsigned int size; /*set to sizeof(ttRepDuplicateExArg) */ unsigned int flags; const char *uid; const char *pwd; const char *pwdcrypt; const char *oracleuide; const char *oraclepwd; const char *localHost; int truncListLen; const char **truncList; int dropListLen; const char **dropList; int maxkbytesPerSec /*new struct elements can only be added here at the end */ } ttRepDuplicateExArg;
ttRepDuplicateExには、次のパラメータがあります。
パラメータ | 型 | 説明 |
handle | ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
destConnStr | const char* |
リモート・データ・ストアのレプリカとして作成するローカル・データ・ストアの接続文字列を指定するヌル終端文字列。 |
srcDatastore | const char* |
リモートのソース・データ・ストア名を指定するヌル終端文字列。この名前は、データ・ストア・パス名の最後の部分です。 |
remoteHost | const char* |
リモートのソース・データ・ストアが配置されているマシンのTCP/IPホスト名を指定するヌル終端文字列。 |
arg | ttRepDuplicateExArg* |
必要なttRepDuplicateEx引数が含まれている構造体のアドレス。NULLがargに対して渡される場合またはarg -> sizeの値が無効の場合は、エラー12230(「Invalid argument value」)およびTTUTIL_ERRORが返されます。 |
ttRepDuplicateEx引数の構造体には、次の要素があります。
ttRepDuplicateExArgフラグ要素には、次の値があります。
データ・ストア・パス名がC:\dsns\payrollであるremote_payrollというリモートのTimesTen DSNのレプリカをlocal_payrollというローカルDSNに作成するには、次のように入力します。
ttUtilHandle utilHandle; int rc; ttRepDuplicateExArg arg; memset(&arg, 0, sizeof(arg)); arg.size = sizeof(ttRepDuplicateExArg); arg.flags = TT_REPDUP_REPSTART | TT_REPDUP_DELXLA; arg.localHost = "mylocalhost"; rc = ttRepDuplicateEx(utilHandle, "DSN=local_payroll", "payroll", "remotehost", &arg); );
次の組込みプロシージャの詳細は、『Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド』を参照してください。
ttReplicationStatus
ttRepPolicySet
ttRepStop
ttRepSubscriberStateSet
ttRepSyncGet
ttRepSyncSet
ttBackupユーティリティAPIまたはttBackupユーティリティを使用して作成したバックアップから、接続文字列で指定したデータ・ストアをリストアします。データ・ストアがすでに存在している場合、ttRestoreはデータ・ストアを上書きしません。
データ・ストア内の表の所有者の名前を変更するには、ttMigrateユーティリティを使用します。表の所有者の名前は、表のリストア時に-renameオプションを使用して変更できます。TimesTenのバックアップおよびリストア機能に関する概要は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータ・ストアのバックアップおよびリストアに関する項を参照してください。
アクセス制御が有効になっている場合は、ADMIN権限またはデータ・ストア・オブジェクトの所有権が必要です。
ttRestore (ttUtilHandle handle, const char *connStr, ttRestoreType type, const char *backupDir, const char *baseName, ttUtFileHandle stream, unsigned intflags)
ttRestoreには、次のパラメータがあります。
パラメータ | 型 | 説明 |
handle | ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr | const char* | リストアするデータ・ストアについて記述する接続文字列を指定するヌル終端文字列。 |
type | ttRestoreType | ファイル・バックアップまたはストリーム・バックアップのいずれからデータ・ストアをリストアするかを指示します。有効な値は、次のとおりです。 TT_RESTORE_FILE: backupDirおよびbaseNameパラメータで指定されたバックアップ・パスにあるファイル・バックアップから、データ・ストアをリストアします。 TT_RESTORE_STREAM: 指定したストリームから読み取られたストリーム・バックアップから、データ・ストアをリストアします。 |
backupDir | const char* | TT_RESTORE_FILEの場合、バックアップ・ファイルが保存されるディレクトリを指定します。 TT_RESTORE_STREAMの場合、このパラメータは無視されます。 |
baseName | const char* | TT_RESTORE_FILEの場合、backupDirパラメータで指定されたバックアップ・ディレクトリにあるバックアップ・ファイルのファイル接頭辞を指定します。 NULLを指定すると、バックアップ・ファイルのファイル接頭辞には、データ・ストアのODBC定義に設定されたDataStore属性のファイル名部分が適用されます。 TT_RESTORE_STREAMの場合、このパラメータは無視されます。 |
stream | ttUtFileHandle | TT_RESTORE_STREAMの場合、バックアップを読み取るストリームを指定します。UNIXの場合は、read(2)を使用して読み込むことができる整数ファイル記述子です。0(ゼロ)を渡すと、stdinからバックアップが読み取られます。Windowsの場合は、ReadFileを使用して読み込むことができるHANDLEです。GetStdHandle(STD_INPUT_HANDLE)の結果を渡すと、標準入力から読み取られます。 TT_RESTORE_FILEの場合、このパラメータは無視されます。アプリケーションでは、このパラメータに対してTTUTIL_INVALID_FILE_HANDLEが渡されます。 |
flags | unsigned int | 将来のリリースで使用される予定です。今回のリリースでは0(ゼロ)を指定します。 |
payrollというDSNのデータ・ストアをC:\backupからリストアするには、次のように入力します。
ttUtilHandle utilHandle; int rc; rc = ttRestore (utilHandle, "DSN=payroll", TT_RESTORE_FILE, "c:\\backup", NULL, TTUTIL_INVALID_FILE_HANDLE, 0);
TimesTenユーティリティ・ライブラリ環境ハンドルにメモリーを割り当て、アプリケーションで使用されるTimesTenユーティリティ・ライブラリ・インタフェースを初期化します。アプリケーションでは、他のすべてのTimesTenユーティリティ・ライブラリ関数より前に、ttUtilAllocEnvをコールする必要があります。また、TimesTenユーティリティ・ライブラリ・インタフェースを使用して処理を行う場合は、ttUtilFreeEnvをコールする必要があります。
ttUtilAllocEnv (ttUtilHandle *handle_ptr, char *errBuff, unsigned int buffLen, unsigned int *errLen);
ttUtilAllocEnvには、次のパラメータがあります。
ttUtilAllocEnvは、次のコード(ttutillib.hで定義されています)を返します。
これ以外の場合、TimesTen固有のエラー・メッセージ(tt_errCode.hに定義されています)および対応するエラー・メッセージが、コール元によって提供されるバッファに返されます。
utilHandleという名前を使用して、TimesTenユーティリティ・ライブラリ環境ハンドルを割り当てて初期化するには、次のように入力します。
char errBuff [256]; int rc; ttUtilHandle utilHandle; rc = ttUtilAllocEnv (&utilHandle, errBuff, sizeof(errBuff), NULL);
ttUtilFreeEnv
ttUtilGetErrorCount
ttUtilGetError
TimesTenユーティリティ・ライブラリ環境ハンドルに関連付けられているメモリーを解放します。
アプリケーションでは、他のすべてのTimesTenユーティリティ・ライブラリ関数より前に、ttUtilAllocEnvをコールする必要があります。また、TimesTenユーティリティ・ライブラリ・インタフェースを使用して処理を行う場合は、 ttUtilFreeEnvをコールする必要があります。
ttUtilFreeEnvには、次のパラメータがあります。
パラメータ | 型 | 説明 |
handle | ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
errBuff | char * | エラー・メッセージがある場合に返される、ユーザーが割り当てるバッファ。返されるエラー・メッセージはヌル終端文字列です。エラー・メッセージは、その長さがbuffLen-1を超えると、buffLen-1に切り捨てられます。このパラメータがNULLの場合、buffLenは無視され、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。 |
buffLen | unsigned int | バッファerrBuffのサイズを指定します。このパラメータが0(ゼロ)の場合、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。 |
errLen | unsigned int * | エラー・メッセージの実際の長さが返される、符号なし整数へのポインタ。NULLの場合、このパラメータは無視されます。 |
ttUtilFreeEnvは、次のコード(ttutillib.hで定義されています)を返します。
これ以外の場合、TimesTen固有のエラー・メッセージ(tt_errCode.hに定義されています)および対応するエラー・メッセージが、コール元によって提供されるバッファに返されます。
utilHandleというTimesTenユーティリティ・ライブラリ環境ハンドルを解放するには、次のように入力します。
char errBuff [256]; int rc; ttUtilHandle utilHandle; rc = ttUtilFreeEnv (utilHandle, errBuff, sizeof(errBuff), NULL);
ttUtilAllocEnv
ttUtilGetErrorCount
ttUtilGetError
TimesTenユーティリティ・ライブラリ関数(ttUtilAllocEnvおよびttUtilFreeEnvを除く)への最後のコールによって生成されたエラーまたは警告(あるいはその両方)を取得します。
ttUtilGetError (ttUtilHandle handle, unsigned int errIndex, unsigned int *retCode, ttUtilErrType *retType, char *errbuff, unsigned int buffLen, unsigned int *errLen);
ttUtilGetErrorには、次のパラメータがあります。
パラメータ | 型 | 説明 |
handle | ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
errIndex | unsigned int | TimesTenユーティリティ・ライブラリ・エラー配列から取得するエラー/警告レコードを指定します。有効な値は、次のとおりです。 0: ユーティリティ・ライブラリ・エラー配列から次のレコードを取得します。 l..n: ユーティリティ・ライブラリ・エラー配列から特定のレコードを取得します。nはttUtilGetErrorCountコールによって返されるttUtilGetErrorCountコールです。 |
retCode | unsigned int * | TimesTen固有のエラー/警告コード(tt_errCode.hで定義されています)を返します。 |
retType | ttUtilErrType* | 返されたメッセージがエラーまたは警告のいずれであるかを示します。有効な値は、次のとおりです。 TTUTIL_ERROR TTUTIL_WARNING |
errBuff | char * | エラー・メッセージがある場合に返される、ユーザーが割り当てるバッファ。返されるエラー・メッセージはヌル終端文字列です。エラー・メッセージは、その長さがbuffLen-1を超えると、buffLen-1に切り捨てられます。このパラメータがNULLの場合、buffLenは無視され、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。 |
buffLen | unsigned int | バッファerrBuffのサイズを指定します。このパラメータが0(ゼロ)の場合、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。 |
errLen | unsigned int * | エラー・メッセージの実際の長さが返される、符号なし整数へのポインタ。NULLの場合、このパラメータは無視されます。 |
ttUtilGetErrorは、次のコード(ttutillib.hで定義されています)を返します。
payrollというDSNに対して、ttDestroyDataStoreをコールした後にすべてのエラー情報または警告情報を取得するには、次のように入力します。
char errBuff[256]; int rc; unsigned int retCode; ttUtilErrType retType; ttUtilHandle utilHandle; rc = ttDestroyDataStore (utilHandle, "DSN=PAYROLL", 30); if ((rc == TTUTIL_SUCCESS) printf ("Datastore payroll successfully destroyed.\n"); else if (rc == TTUTIL_INVALID_HANDLE) printf ("TimesTen utility library handle is invalid.\n"); else while ((rc = ttUtilGetError (utilHandle, 0, &retCode, &retType, errBuff, sizeof (errBuff), NULL)) != TTUTIL_NODATA) { ............... ............... }
各TimesTenユーティリティ・ライブラリ関数は、アプリケーションからの1回のコールで、複数のエラーまたは警告(あるいはその両方)を生成する可能性があります。これらのエラーまたは警告(あるいはその両方)のすべてを取得するには、TTUTIL_NODATAが返されるまで、アプリケーションでttUtilGetErrorを繰り返しコールする必要があります。
ttUtilAllocEnv
ttUtilFreeEnv
ttUtilGetErrorCount
TimesTenユーティリティ・ライブラリ関数(ttUtilAllocEnvおよびttUtilFreeEnvを除く)への最後のコールによって生成されたエラーまたは警告(あるいはその両方)の数を取得します。これらの各関数は、アプリケーションからの1回のコールで、複数のエラーまたは警告(あるいはその両方)を生成する可能性があります。これらのエラーまたは警告(あるいはその両方)のすべてを取得するには、TTUTIL_NODATAが返されるまで、アプリケーションでttUtilGetErrorをコールする必要があります。
ttUtilGetErrorCountには、次のパラメータがあります。
パラメータ | 型 | 説明 |
handle | ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
errCount | unsigned int * | TimesTenユーティリティ・ライブラリへの最後のコール(ttUtilAllocEnvとttUtilFreeEnvを除く)によって生成されたエラーまたは警告(あるいはその両方)の数を示します。 |
ttUtilGetErrorCountは、次のコード(ttutillib.hで定義されています)を返します。
payrollというDSNに対してttDestroyDataStoreをコールした後に、エラーおよび警告のカウント情報を取得するには、次のように入力します。
int rc; unsigned int errCount; ttUtilHandle utilHandle; rc = ttDestroyDataStore (utilHandle, "DSN=payroll", 30); if (rc == TTUTIL_SUCCESS) printf ("Datastore payroll successfully destroyed.\n"); else if (rc == TTUTIL_INVALID_HANDLE) printf ("TimesTen utility library handle is invalid.\n"); else { rc = ttUtilGetErrorCount(utilHandle, &errCount); ............... ............... }
各TimesTenユーティリティ・ライブラリ関数は、アプリケーションからの1回のコールで、複数のエラーまたは警告(あるいはその両方)を生成する可能性があります。これらのエラーまたは警告(あるいはその両方)のすべてを取得するには、TTUTIL_NODATAが返されるまで、アプリケーションでttUtilGetErrorを繰り返しコールする必要があります。
ttUtilAllocEnv
ttUtilFreeEnv
ttUtilGetError
指定したトランザクションIDによって示されたトランザクションをロールバックします。ttXactIdRollbackの対象ユーザーは、ttXactAdminユーティリティです。ただし、他のスレッドの処理をロールバックできるスレッドを持つプログラムでは、処理を開始する前にそれらのスレッドで組込みプロシージャttXactIdGetをコールし、ロールバックを行うスレッドによって認識される場所にその結果を配置する必要があります。
ttXactIdRollbackには、次のパラメータがあります。
パラメータ | 型 | 説明 |
handle | ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
connStr | const char** | ロールバックするトランザクションが含まれているデータ・ストアの接続文字列。 |
xactId | const char* | ロールバックするトランザクションのトランザクションID。 |
payrollというデータ・ストアでIDが3.4567のトランザクションをロールバックするには、次のように入力します。
char errBuff [256]; int rc; unsigned int retCode; ttUtilErrType retType; ttUtilHandle utilHandle; ............... rc = ttXactIdRollback (utilHandle, "DSN=payroll", "3.4567"); if (rc == TTUTIL_SUCCESS) printf ("Transaction ID successfully rolled back.\n"); else if (rc == TTUTIL_INVALID_HANDLE) printf ("TimesTen utility library handle is invalid.\n"); else while ((rc = ttUtilGetError (utilHandle, 0, &retCode, &retType, errBuff, sizeof (errBuff), NULL)) != TTUTIL_NODATA) { ............... }